package com.yuntai.pms.model.entity.flowRule;

import com.alibaba.fastjson.JSON;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;

import java.io.Serializable;
import java.util.Date;

@Data
@Slf4j
public class AipMethod implements Serializable {

    private static final long serialVersionUID = -8866894984846294214L;
    /**
     * 资源接口ID，主键
     */
    private Long id;

    /**
     * 资源接口地址，格式为：yuntai.{group}.**.{Class}.(ClassMethod)
     */
    private String method;

    /**
     * 资源接口的类型，两种枚举：MethodIOHandler和InterfaceIOHandler，指的两种不同实现方式的类型
     */
    private String methodType;

    /**
     * 类名（包含包路径）
     */
    private String className;

    /**
     * 资源服务器名，标识唯一业务资源服务器使用
     */
    private String serverName;

    /**
     * 资源接口描述
     */
    private String description;

    /**
     * 业务资源服务所属dubbo分组
     */
    private String dubboGroup;

    /**
     * 资源接口版本，可为空。暂时做预留字段使用
     */
    private String version;

    /**
     * 如果存在部署的相同功能，调用的优先级
     */
    private Byte priority;

    /**
     * 如果存在部署的相同功能，该服务允许的最大调用容量
     */
    private Byte capability;

    /**
     * 调用该服务的最大连接时间，备用
     */
    private Integer connTimeout;

    /**
     * 调用该服务的最大处理时间，备用
     */
    private Integer readTimeout;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 状态：有效(enabled)、无效(disabled)
     */
    private String status;

    /**
     * 接口说明文档
     */
    private String apiDoc;

    @Override
    public String toString() {
        return JSON.toJSONString(this);
    }
}